﻿using System;
using System.Collections.Generic;

namespace VisionCloud.Domain.DtoModel.Ms
{
    public class ExternalWallDataDto
    {
        /// <summary>
        /// 任务ID
        /// </summary>
        public Guid TaskId { get; set; }

        /// <summary>
        /// 任务站点索引
        /// </summary>
        public int PointIndex { get; set; }

        /// <summary>
        /// 文件存储相对目录
        /// </summary>
        public string OutPath { get; set; }

        /// <summary>
        /// 子站点报告
        /// </summary>
        public string ReportFilePath { get; set; }

        /// <summary>
        /// 3D图片列表
        /// </summary>
        public List<string> ThreeImageList { get; set; } = new List<string>();

        /// <summary>
        /// 3D图片相关的json文件列表
        /// </summary>
        public List<string> ThreeJsonList { get; set; } = new List<string>();

        /// <summary>
        /// 墙面图片列表
        /// </summary>
        public List<WallImageData> ImageDatas { get; set; } = new List<WallImageData>();

        /// <summary>
        /// 用来标识picturejson是否已是最新的
        /// </summary>
        public bool IsNewest { get; set; } = false;
        /// <summary>
        /// 轮廓图URL
        /// </summary>
        public string ContourImagePath { get; set; }
    }

    public class WallImageData
    {
        /// <summary>
        /// 测量项
        /// </summary>
        public string Code { get; set; }

        public string Key { get; set; }

        /// <summary>
        /// 墙面图片列表
        /// </summary>
        public List<WallImageModel> ImageModels { get; set; } = new List<WallImageModel>();
    }

    public class WallImageModel
    {
        /// <summary>
        /// 墙面Id
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 墙面底图
        /// </summary>
        public string BasemapUrl { get; set; }

        /// <summary>
        /// 热力图
        /// </summary>
        public string HotmapUrl { get; set; }

        /// <summary>
        /// 靠尺图
        /// </summary>
        public string RulesUrl { get; set; }

        /// <summary>
        /// 楼层图片URL
        /// </summary>
        public string FloorUrl { get; set; }

        /// <summary>
        /// 楼层列表
        /// </summary>
        public List<FloorImageModel> FloorModels { get; set; } = new List<FloorImageModel>();
    }

    public class FloorImageModel
    {
        /// <summary>
        /// 楼层
        /// </summary>
        public string Floor { get; set; }

        /// <summary>
        /// 底图
        /// </summary>
        public string BasemapPath { get; set; }

        /// <summary>
        /// 热力图
        /// </summary>
        public string HotmapPath { get; set; }

        /// <summary>
        /// 靠尺图
        /// </summary>
        public string RulesPath { get; set; }
    }
}
